package com.essalud.apachecxf.consulta;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.List;

import javax.jws.WebService;


@WebService(endpointInterface = "com.essalud.apachecxf.consulta.Acreditacion")
public class AcreditacionImpl implements Acreditacion {
	
	SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
	
	public String obtenerInfoAcreditacion(String dni) {
		List<AcreditacionInfo> acreditaciones = getData();
		AcreditacionInfo acreditacionBuscada = null;
		for (AcreditacionInfo acreditacionInfo : acreditaciones) {
			if (acreditacionInfo.getDni().equals(dni)) {
				acreditacionBuscada = acreditacionInfo;
				break;
			}			
		}
		
		if (acreditacionBuscada !=null) {
			String acreditacionCadena = convertirString(acreditacionBuscada);
			return acreditacionCadena;
		}
		else{
			return "No esta acreditado";
		}
		
	}
	
	private String convertirString(AcreditacionInfo acreditacionBuscada) {
		StringBuffer acreditacionCadena=new StringBuffer();
		acreditacionCadena = acreditacionCadena.append(acreditacionBuscada.getDni()).append("#");
		acreditacionCadena = acreditacionCadena.append(acreditacionBuscada.getTipoAsegurado()).append("#");
		acreditacionCadena = acreditacionCadena.append(acreditacionBuscada.getAutogenerado()).append("#");
		acreditacionCadena = acreditacionCadena.append(acreditacionBuscada.getTipoSeguro()).append("#");
		acreditacionCadena = acreditacionCadena.append(acreditacionBuscada.getCentroAsistencial()).append("#");
		acreditacionCadena = acreditacionCadena.append(acreditacionBuscada.getDireccionCentro()).append("#");
		acreditacionCadena = acreditacionCadena.append(formato.format(acreditacionBuscada.getFechaVigenciaHasta())).append("#");		
		return acreditacionCadena.toString();
	}

	private List<AcreditacionInfo> getData() {
		List<AcreditacionInfo> sanciones = new ArrayList<AcreditacionInfo>();
		
		try {
			{
		    
				AcreditacionInfo acreditacionBean;
				acreditacionBean = new AcreditacionInfo("10664149", "Titular", "5901281MTCUA003",
						"Regular", "UBAP_LOS OLIVOS", "Av. Naranjal 318 - Urb. Industrial", formato.parse("31/05/2012"));
				sanciones.add(acreditacionBean);
			}
			{
				AcreditacionInfo acreditacionBean;
				acreditacionBean = new AcreditacionInfo("10531907", "Titular", "5901281MTCUA003",
						"Regular", "UBAP_LOS OLIVOS", "Av. Naranjal 318 - Urb. Industrial", formato.parse("31/05/2012"));
				sanciones.add(acreditacionBean);
			}
			{
				AcreditacionInfo acreditacionBean;
				acreditacionBean = new AcreditacionInfo("80486054", "Titular", "5901281MTCUA003",
						"Regular", "UBAP_LOS OLIVOS", "Av. Naranjal 318 - Urb. Industrial", formato.parse("31/05/2012"));
				sanciones.add(acreditacionBean);
			}
			{
				AcreditacionInfo acreditacionBean;
				acreditacionBean = new AcreditacionInfo("16665815", "Titular", "6807170MTCUL009",
						"Regular", "UBAP_LOS OLIVOS", "Av. Naranjal 318 - Urb. Industrial", formato.parse("30/06/2011"));
				sanciones.add(acreditacionBean);
			}

		} catch (ParseException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return sanciones;
	}	

}
